package jUnit;

import static org.junit.Assert.fail;

import java.util.ArrayList;

import org.junit.Test;

import Exception.ArbreCheminBloqueException;
import Harmonisation.Harmonisation;
import Harmonisation.Note;
import Harmonisation.CreationDuChant.Arbre.Arbre;
import Harmonisation.CreationDuChant.Arbre.Noeud;

public class TestArbre {
	@Test
	public void verifNbHarmo() {
		int nombreHarmo = 30;

		ArrayList<Note> notes = new ArrayList<Note>();
		notes.add(new Note("si4", 1));
		notes.add(new Note("si4", 1));

		Harmonisation test = new Harmonisation(notes);
		if (test.nombreHarmonisations() != nombreHarmo) {
			fail("Mauvaise nombre d'harmonisation");
		}
	}

	@Test
	public void verifFonctionAjouter() {
		Arbre<Note> arbre = new Arbre<Note>();
		ArrayList<Noeud<Note>> array = new ArrayList<Noeud<Note>>();
		array.add(new Noeud<Note>(new Note("do1", 1)));
		try {
			arbre.ajouter(array);
			arbre.ajouter(array);
			fail("La fonction qui prevoit le fait qu'il y ai toujours un chemin dans l'abre, d'arraylist en arraylist");
		} catch (ArbreCheminBloqueException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}
